package io.terminus.paas.profiler.service

import io.terminus.paas.profiler.model.Consumer

/**
 * Created by gengrong on 16/3/18.
 * 提供操作服务消费者的相关接口
 */
interface ConsumerService {

    /**
     * 根据服务ID查询相关消费者
     * @param serviceId 服务ID
     * @return 该服务消费者列表
     */
    fun findConsumerByServiceId(registryAddress: String, serviceId: String): List<Consumer>

    /**
     * 根据消费者ID查询其相信信息
     * @param consumerId 消费者ID
     * @return 该消费者详细信息
     */
    fun getDetailByConsumerId(registryAddress: String, consumerId: Long): Consumer

    /**
     * 允许消费者访问其调用服务
     * @param consumerId 消费者ID
     */
    fun enableConsumer(registryAddress: String, consumerId: Long)

    /**
     * 禁止消费者访问其调用服务
     * @param consumerId 消费者ID
     */
    fun disableConsumer(registryAddress: String, consumerId: Long)
}